Eingebaute und benutzerdefinierte Objekte

MS Access bietet eine Fülle systemdefinierter (vordefinierter, eingebauter oder standardisierter) Objekte an. Eingebaute Objekte, welche der Programmierer anstelle selbstdefinierter verwenden kann, sind zum Beispiel ...

Ein Beispiel für die letzte Kategorie ist die vordefinierte automatische Umwandlung einer Eingabe in Gross- bzw. Kleinbuchstaben. Die folgenden Ausschnitte aus dem Unterformular Zuordnungslösungen zeigen ...

  1. das Unterformular, dessen Eingabe in die erste Spalte automatisch in einen Grossbuchstaben umgewandelt wird

  2. die Vereinbarung der ersten Spalte des Unterformulars in der Entwurfsansicht


Wenn der Benutzer einen Kleinbuchstaben eingibt (erster Bildschirmausschnitt), erscheint nach dem Verlassen des Steuerelements automatisch ein Grossbuchstabe. Der zweite Bildschirmausschnitt erscheint, wenn die Entwicklerin in der Entwurfssicht auf das Textfeld TxfBuchstabenpräfix klickt, »Alt/Enter drückt und > als Wert der Eigenschaft Format eingibt.

Die Verwendung systemdefierter Objekte spart viel Zeit. Wenn der Entwickler das Konversionsproblem selbst löst, dann muss er statt > eine selbstdefinierte Ereignisprozedur einfügen. Die folgende Subroutine TxfBuchstabenpräfix_KeyPress reagiert zum Beispiel auf einen Tastendruck im Feld TxfBuchstabenpräfix und konvertiert einen eingegebenen Kleinbuchstaben in einen Grossbuchstaben:

'-- Konvertiert einen Kleinbuchstaben in einen Grossbuchstaben
'   (Tastencode ist ein ANSI- oder UNICODE-Tastencode und wird by Reference übergeben)
Private Sub TxfBuchstabenpräfix_KeyPress(Tastencode As Integer)
  Dim strZeichen As String

  ' Chr konvertiert das Integeraequivalent Tastencode in eine Zeichenfolge
  strZeichen = Chr(Tastencode)
  ' UCase konvertiert in einen Großbuchstaben und Asc wieder in ein Integeraequivalent
  Tastencode = Asc( UCase(strZeichen) )
End Sub

Im Unterschied zu > der Formulareigenschaft "Format" ändert TxfBuchstabenpräfix_KeyPress allerdings nicht nur die Darstellung im Formular, sondern auch jene in der Basistabelle, weil die Konversion bereits bei Eingabe (und nicht erst nach Feldwechsel) erfolgt. Damit die Umwandlung auch auf die Basistabelle durchschlägt, müsste der Entwickler auch die Tabelleneigenschaft auf den Wert > setzen. Die Wahl einer selbst definierten Ereignisprozedur kann also selbst dann Sinn machen, wenn eine ähnliche Funktionalität bereits eingebaut ist.

Anwendungspakete wie MS Office stellen eine Fülle vordefinierter Objekte zur Verfügung. Ein grosser Teil der Entwicklungsarbeit besteht in der Suche geeigneter systemdefinierter Objekte. Eine wertvolle Hilfe ist dabei der Objektkatalog.